Method for routing in telecommunications networks

ABSTRACT

To perform routing in telecommunications networks it is proposed to partition the network, create a reduced graph on the partitions in a preprocessing step in which a dual graph of the network is constructed and the graph is reduced using connections determined by the characteristics of the apparatuses. The routing is then performed on the converted graph. Graph updating techniques to keep it coherent are also described. Each time a routing is requested for a type of traffic not yet considered, a reduced graph for that traffic is constructed while canceling the arch of the original graph which does not support that traffic. For each type of traffic only the reduced graph developed by graph partitioning as described above is kept in memory with considerable resource savings.

CONTINUING DATA

This application is a 371 of PCT/IBO2/03365, which was filed on Jul. 9,2002. This application claims foreign priority to Italy M 101A001508,which was filed on Jul. 13, 2001.

The present invention relates to methods for finding optimal paths(routing) quickly and efficiently within telecommunications networks andin particular with SDH or WDM traffic.

The ever wider spreading of telecommunications services and thecomplexity of the apparatuses making up telecommunications networksbring considerable problems of design and implementation of routingalgorithms which would be efficient and give satisfactory performance.

In the architecture of networks all the SDH or WDM apparatuses of thecurrent generation do not play an active role in shortest pathcalculation and all the data concerning the network is memorized in asingle database containing a complete view of the network.

In this centralized architecture the data describing the present statusof the network must therefore be loaded from the database when therouting algorithm is to be applied for calculation of the shortest pathand data routing. This generates not a few problems, especially if thepresent size of telecommunications networks is considered and especiallytheir tendency to grow. Indeed, present-day networks are made up ofseveral thousand apparatuses connected by a number of linksproportionate to the number of apparatuses and the present rate ofgrowth promises reaching tens of thousands in a short time to thenproceed to hundreds of thousands in the not distant future.

It is clear that recovering such a large amount of data every timecalculation of a shortest path is required involves a considerableeffort and therefore too long response times. Accesses to the data baseindeed constitute a set of very costly operations from the timeviewpoint. The time employed in accesses proves to be much longer thanthe time actually spent on calculation. The large memory requirement forloading all the data contained in the database must also be remembered.In addition, restrictions on routing of the network members imply aposteriori verification of results with possible failures and the needto repeat the search algorithm. One proposed solution was to partitionthe network to secure the advantages of needing less memory (having asmaller graph) and securing a faster routing algorithm. But partitioningalone makes it possible to attack only part of the problems.

The general purpose of the present invention is to remedy the abovementioned shortcomings by making available a method enabling routing intelecommunications networks with greater efficiency, scalable so as notto be affected in an unacceptable manner by the increase in apparatusesand links in the network, and which would allow tracing the optimal pathwhile respecting any connection restrictions of the apparatuses makingup the network.

In view of this purpose it was sought to provide in accordance with thepresent invention a method for routing in telecommunications networkscomprising the steps of partitioning the graph G of the network andcreating a reduced graph G^(R) on the partitions P_(i) in apreprocessing step in which a dual graph of the network is constructedand the graph is reduced using connections restricted by thecharacteristics of the apparatuses and performing the routing on thegraph thus converted.

To clarify the explanation of the innovative principles of the presentinvention and its advantages compared with the prior art there isdescribed below with the aid of the annexed drawings a possibleembodiment thereof by way of non-limiting example applying saidprinciples. In the drawings:

FIG. 1 shows a graph of an example of a network,

FIG. 2 shows a possible partitioning of the network of FIG. 1 in threesubnetworks A, B and C,

FIG. 3 shows the addition of fictitious nodes for partition A of FIG. 1,

FIG. 4 shows the reduced graph of the original partition A and createdby following the method of the present invention,

FIG. 5 shows an example of dynamic completion of the reduced graph,

FIG. 6 shows an example of the shortest path found on the reduced graph,

FIG. 7 shows the shortest path of FIG. 6 transferred onto the originalgraph,

FIG. 8 shows an example of a network graph with an optimal path passingthrough the same partition several times,

FIG. 9 shows a schematic subdivision of apparatuses on the basis ofconnection restrictions.

FIG. 10 shows an outline of an original network example to which isapplied a ‘clever dual network’ method in accordance with the presentinvention,

FIGS. 11 a to 11 e show graphically successive steps of the methodapplied to the network of FIG. 10,

FIGS. 12 to 14 show an example of an application of steps of the methodin accordance with the present invention,

FIGS. 15 to 17 show another example of an extended application of stepsof the method in accordance with the present invention, and

FIGS. 18 to 24 show an extended example of an application of the methodin accordance with the present invention.

With reference to the figures, FIG. 1 shows a generic example of anetwork. This network can be first of all partitioned so as to secure acertain number of partitions or subnetworks easier to manage. It isagreed that:

1. Each apparatus of the network belongs to a single partition. Onepartition contains multiple apparatuses. This implies that theintersection between the set of apparatuses belonging to one partitionand the set of those belonging to another partition chosen at random isthe empty set.

2. One partition does not contain other partitions. Partitioning of thenetwork thus takes place at a single level of abstraction.

3. The original links of the network are classified as:

-   -   Interlink; these links connect two apparatuses belonging to two        separate partitions. An interlink is characterized by the pair        <source node, source partition> and <destination node,        destination partition>.    -   Intralink; these links connect two apparatuses belonging to the        same partition; an intralink is characterized by the triplet of        values <source node, destination node, partition>.

4. No link can be classified at the same time interlink and intralink.

5. For both the partitions it connects, each interlink constitutes aport through which traffic can flow. The traffic actually flowing withinthe port will have a concordant direction with the <source partition,destination partition> arrangement. For this reason the same linkfulfills the role of output port for the source partition and input portfor the destination port.

To secure partitioning of a network represented by a graph with N nodes(apparatuses), M arches (links) and a cost function C(M), define a setof partitions P and assign to each partition P_(i), n_(i) nodes andm_(i) arches belonging to the original graph in such a manner that foreach of these arches the tail and head nodes belong to P_(i)(intralinks). The remaining m_(k) arches (i,j) with nodes i and jbelonging to two different partitions are the interlinks.

The partitions P are connected through m_(k) arches (interlinks) of theoriginal graph.

Application of rules (1) and (2) gives:${{\sum\limits_{i = 1}^{P}n_{i}} = N},{\left( {m_{k} + {\sum\limits_{i = 1}^{P}m_{i}}} \right) = M}$

FIG. 1 shows an example of a possible network which we shall calloriginal network and FIG. 2 shows a possible partitioning of thisnetwork in three subnetworks A, B and C. Of course with the increase inthe size of the networks partitioning also generates subnetworks ofexcessive size as concerns database management. On the other handpartitioning of the network has a limit in the need to avoid excessivefragmentation of the network with resulting excessive number ofpartitions.

The purpose it is desired to pursue is to memorize an assemblage ofbasic data which summarize the present status of the network so as toavoid having to memorize a complete copy of the original graph, whethersubnetwork or network, and thus avoid having to load all the datadescribing the network.

In accordance with the present invention, a reduced graph G is thereforeextracted from the graph G^(R) of the original network.

To construct this reduced graph the following steps are taken:

1. Assign to each interlink of the original graph a node n_(f) in thereduced graph G^(R).

2. For each partition P_(i):

-   -   Divide the set of ports in the two input and output port sets.    -   At partition level P_(i) associate with each of the fictitious        nodes n_(f) created under paragraph 1 representing a port        (interlink) of partition P_(i) a fictitious node which will be a        fictitious input node n_(fi) or output node n_(fu) depending on        the direction of the associated port.    -   Connect the fictitious node n_(fi) or n_(fu) with the node which        in the original graph is connected to the port in question. To        avoid counting the same cost twice, assign cost 0 to the arch        which has the node n_(fu) as its head. The cost of the arch        having as its tail the node n_(fi) remains unchanged at c_(in).    -   Calculate the shortest path from each fictitious input node        n_(fi) to each fictitious output node n_(fu); each path is        characterized by a set of arches of the original graph which        connect the <input port, output port> node pair.

3. Arch set calculated in paragraph 2 an arch in the reduced graph m_(r)connecting the nodes n_(f) representing the two ports. If the pathbetween the two fictitious nodes does not exist and thus the set ofarches associated with said path is the empty set, do not insert thearch in the reduced graph.

4. The following data are associated with each arch m_(r) of the reducedgraph:

-   -   the list L of arches of the original graph traversed by the path        which in the original graph connects the ports for the        fictitious nodes n_(fi) and n_(fu),    -   the cost, which is the sum of the costs of the arches traversed        by the path in the original graph, and    -   the name of the partition in which the path was calculated.

(G^(R)(P_(i))) is defined as the set of arches of G^(R) whose list ofarches L was calculated within the partition P_(i). In equivalentmanner, (G^(R)(P_(i))) represents the set of arches of G_(R) whosepartition field is P_(i).

FIG. 3 shows the addition of fictitious nodes for partition A of FIG. 1.FIG. 4 shows the reduced graph representing the original partition Acreated by following the above mentioned steps.

To clarify understanding of the reduced graph construction, the costs ofthe arches were not inserted in the figures, so as to not complicate theillustration.

It is conjectured for example that the shortest path within partition Afrom port 7,6 to port 5,14 is {7,6; 6; 3; 4; 5; 5,14}. The dataassociated with the arch of reduced GR <7,6; 5,14> will thus be:

-   -   1. List L: L={<7,6; 6>, <6;3>, <3;4>, <4;5>, <5; 5,14>}.    -   2. Total cost of this path.    -   3. The partition name, A.

Again for the sake of clarity the path is designated as a succession ofarches in which to each arch has been assigned as the identifier thepair of names of the associated tail and head nodes. Of course thiswording does not apply if there is more than one arch connecting thesame pair of nodes in the same direction.

Another simplification, again with the purpose of understanding thisexample, is to designate by different names the nodes belonging todifferent partitions; in reality an apparatus is distinguished by the‘name, partition’ pair of values and it is therefore possible that twoapparatuses belonging to two different partitions share the same name.

When a connection request R arrives for a pair of nodes identified bythe coordinates <source node n_(s), source partition P_(s)>,<destination node n_(d), destination partition P_(d)> it is necessary tocomplete the reduced graph by taking the following steps:

1. Add to the reduced graph the source and destination nodes of theoriginal graph.

2. For the pair <n_(s), P_(s)>;

-   -   Take from the database all and only the data for the source        partition,    -   calculate the shortest paths from the source node to all the        output ports of the source partition,    -   associate with each path calculated under the above paragraph an        arch containing the same data contained by the other arches of        the reduced graph (list of arches traversed on the source        partition, total cost, name of the source partition).

3. For the pair <n_(d), P_(d)>;

-   -   take from the database all and only the data for the destination        partition,    -   calculate the shortest paths from all the input ports of the        destination partition to the destination node,    -   associate with each path calculated under the preceding        paragraph an arch containing the same data contained by the        other arches of the reduced graph (list of arches traversed in        the destination partition, total cost, name of the destination        partition).

FIG. 5 shows an example of dynamic completion of the reduced graphapplied to the G^(R) of FIG. 4 necessary for calculation of the pathfrom node 1 of partition A (<1,A>) to node 8 of partition C (<8,C>).

When the reduced graph is complete it is possible to calculate theshortest required path by operating directly on the reduced graph.

So an ordered list of arches <n_(fi),n_(fu)> of the reduced graph G^(R)is found. With each member of the list, that is with each arch m^(r) ofthe reduced graph, is associated the list of arches of the originalgraph which are traversed by the shortest path between the two portsassociated with the fictitious nodes n_(fi) and n_(fu).

The last step, necessary for supplying the required solution, consistsof linearizing the list by following the order of the arches of thereduced graph making up the solution and of course avoiding repetitionof the interlink arches.

Assume for example that the shortest path from node 1 of partition A<1,A> to node 8 of partition C<8,C> calculated on the reduced graph ofFIG. 5 is the one shown in FIG. 6. As may be seen in FIG. 6, thisshortest path is made up of the sequence of three arches of the reducedgraph, to wit the arch <1,A; 5,14> and the arch <12,11; 8,C> which wereadded during dynamic completion of the reduced graph and the arch <5,14;12,11> which was introduced during construction of the reduced graph.

Assume that the following data are associated with the three arches:

-   -   1. Arch <1,A; 5,14>:        -   L={<1;2>, <2;5>, <5;5,14>}.        -   Cost c₁=12.        -   Partition name: A.    -   2. Arch <5,14; 12,11>        -   L={<5,14;14>, <14;15>, <15;16>, <16;12>, <12;12, 11>}        -   Cost c₂=5        -   Partition name: B.    -   3. Arch <12,11; 8,C>:        -   L={<12,11; 11>, <11;10>, <10;7>, <7;8>}        -   Cost c₃=6        -   Partition name: C.

The shortest path from node 1 to node 8 in the original graph thus has acost equal to the sum of the costs of these three arches,c_(tot)=c₁+c₂+c₃=23, and is made up of the following sequence of arches:path ={<1;2>, <2;5>, <5;14>, <14;15>, <15;16>, <16;12>, <12;11>,<11;10>, <10;7>, <7,8>}.

The path found from node 1 to node 8 on the original graph is thus theone shown in FIG. 7.

It should be noted that the routing method proposed ensures that theoptimal path is calculated even in the special case where the optimalpath passes through the same partition several times as shown by way ofexample in FIG. 8.

This is very important where the source and destination nodes belong tothe same partition. In this case it may be advantageous to load all thedata associated with the partition containing the two nodes and attemptfirst to calculate the shortest path between the two nodes inside thepartition without using the reduced graph. The path thus calculated isnot necessarily the optimal one which could pass through otherpartitions and then return within the partition containing the two nodesbut it is a valid solution to the problem of creating a connectionbecause in general the number of links making up the path can belimited. If this first attempt fails because the path within thepartition does not exist, it does not mean that it does not exist in theoriginal network; for this reason, if the path was not found, itsuffices to extend the calculation to the entire reduced graph,proceeding by the method in accordance with the present invention as inthe general case.

Again with reference to calculation of the shortest path on the reducedgraph, cancellation on the reduced graph of the source and destinationnodes and associated incident arches can be performed at any time beforecalculation of the following connection. On this point it may beadvantageous to cancel this data only when a new connection requestarrives. This way, if the new source or destination node coincides withthe previous source or destination node the previous data can be reused.

It will of course be necessary to update the links which may have becomeinconsistent after calculation of the previous connection.

This is a general requirement; a solution being supplied, it isnecessary to ensure consistency of the reduced graph with the originalgraph. The reduced graph must at all times summarize the present stateof the network.

There are different situations which could generate consistencyproblems. The main ones can be summarized as the use of resourcesalready allocated, release of a connection, insertion of a new node orlink in a partition, cancellation of a node or link in a partition,insertion of an interlink, and cancellation of an interlink.

These main case are examined below.

For example, to avoid a subsequent connection being able to use theresources of the one just calculated, the resources used by the solutionfound should be assigned; in this manner a subsequent connection requestcannot use these resources until they are released. The problem ofconsistency, which in this case we can define as the ‘resourceoccupation problem’, occurs for all the m^(r) links of the reduced graphG^(R) belonging to the path found and for all the links of the reducedgraph G_(R) containing in their list L a link G belonging to thesolution found. On the contrary, the consistency problem in this casedoes not occur for all the links of G^(R) calculated in G partitions nottraversed by the connection set up and for all those links of G^(R) notcontaining in their lists one of the links belonging to the solutionfound; the shortest path remains unchanged as regards the case in whichthe resources had not yet been assigned.

An identical consistency problem with an identical solution is had whena node or link of a partition is cancelled. On the other hand, uponrelease of a connection there is the situation, dual of the precedingone, which can generate consistency problems because of the resourcespreviously occupied by a connection become available for calculation ofnew connections. In the presence of such an event therefore it isnecessary to update all the paths calculated in the partitions of Gwhich are traversed by the released connection.

Identical consistency problems are had with the insertion of a new nodeor link in a partition and it is again necessary to update all the pathscalculated in the partition where the new node or link is installed.

But when an interlink is inserted, a new node belonging to GR isassociated with the new arch of G. Insertion of this new node involvescalculation of the paths of all the input ports up to the interlink inquestion within the partition containing the tail node and calculationfrom the interlink to all the output ports within the partitioncontaining the head node.

On the contrary, upon cancellation of an interlink the node of GR whichrepresented this port must be cancelled together with all the input andoutput arches affecting it. As may be seen, some diligence is necessaryto keep the reduced graph always consistent. The doubt may arise thatthe diligence expended to keep the reduced graph consistent annuls theadvantage of using it and that better response times are not had thanwhen all data are extracted from the database each time a new connectionrequest arrives.

In reality it has been proven that the time necessary to update thereduced graph can be tranquilly spent after exposure of the path foundand therefore in the dead time between two requests. On the client'spart, if the routing algorithm uses the reduced graph there is thus theundoubted advantage of receiving an immediate response because theupdating time of the reduced graph does not weigh on the client.

The only accesses to the database made in the lapse of time betweenarrival of the connection request and viewing of the response concernonly the two source and destination partitions; it is recalled thatthese data are necessary for dynamic completion of the reduced graph. Itis clear that in this manner the purpose of acceding as little aspossible to the database is achieved.

In addition, it was observed experimentally that the number of linksmaking up a connection is very small as compared to network size.

The small number of arches making up a connection allows it to be statedthat the probability that the connection will traverse few partitions isvery high and this means that having to load a considerable amount ofdate from the database is unlikely. Only in the reduced graphconstruction step is access had to the database to take all the data ofthe network and this preprocessing step once ended no longer affectsresponse time.

At the same time, given a partition P_(i) traversed by the connectionjust set up, it is unlikely that all the arches of (G^(R)(P_(i))) willhave to be calculated again because as the number of arches of theconnection belonging to the partition P_(i) is not high it is unlikelythat an arch of G^(R)(P_(i)) will contain in its list L one of thearches of the connection. In reality, this last aspect depends stronglyon the topology and distribution of costs of the various partitions andin the construction of the reduced graph it may happen that severalarches of G^(R)(p^(i)) will contain the same link if there areobligatory paths or arches in the P_(i) especially advantageous in termsof cost.

The possibility of ‘paralellizing’ the algorithm should not beundervalued. Since the apparatuses managed do not fulfill an active rolein calculation of the shortest path and hence it is impossible at themoment to realize a distributed algorithm, the only way to achieve thispurpose is to make the best use of the calculators designed for networkmanagement. These calculators are multiprocessor machines with sharedmemory and very powerful.

Use of the reduced graph added to partitioning of the network allowsdistribution of the workload over various processors on the basis of ageographical distribution of resources and it may be sought to associatea thread with each partition so as to perform the operations ofconstruction and updating of the reduced graph in parallel. Intelecommunications networks some SDH or WDM apparatuses distributed inthe network introduce connection restrictions which considerablycomplicate the routing algorithm. A connection restriction implies thatit is not always possible, given an established input port, to connectit with just any output port.

The ports of an apparatus can be arranged for example in three possiblesets depending on the connection restrictions they have. The followingcan be distinguished:

-   -   ports without restrictions for which a signal reaching the input        to the apparatus through one of the ports belonging to this set        can leave the apparatus through any output port belonging to        this set,    -   ports with total restriction or ‘fixed cross connection’ ports;        a signal reaching the apparatus input through one of the ports        belonging to this set is forced to leave the apparatus through a        predetermined output port belonging to this set, and    -   ports with partial restriction or protection; these ports are        used to protect the connections which were set up using the        ports of other sets. The restrictions of this set of ports        depend on which connections are to be protected. To these        connection restrictions which limit switching operations are        added for example those due to the impossibility of connecting        an optical signal from a certain channel characterized by a        certain wavelength to another channel also characterized by its        own wavelength. This problem appears for example in the        multiplexing of several signals from the SDH domain to the WDM        domain which takes place through the use of appropriate cards        and a multiplexer (MUX).

Each of these cards must of course transmit its signal to themultiplexer using a wavelength different from all those with which theother signals input to the MUX coming from other cards are sent. The MUXhas the function of multiplexing these different signals in a single WDMsignal and transporting them with different wavelengths within the samefiber. The wavelength at which the signal is sent from the card to theMUX is set through hardware. In truth there are different studies aimedat allowing setting of the appropriate ë by software, which wouldintroduce higher degrees of freedom in the routing process.

All these limitations entail solving the shortest path problem withpenalties and prohibitions; with each pair of arches (i,j)(j,k) isassociated a penalty indicating the cost of switching an input signal atnode j from the arch (i,j) to the arch (j,k). If the switching is notallowed the penalty is infinite.

With a dual network at each arch of the original graph is associated anode in a ‘converted graph’. An arch is associated with each penalty. Adisallowed switching is simply shown as absence of the arch in theconverted graph. It was surprisingly found that among the variouspossible conversions a dual graph conversion or dual graph appears to bethe most satisfactory. Just for the dual conversion characteristic, in atelecommunications network where the nodes are much smaller in numberthan the connections, the conversion into a dual graph should generatean unacceptable increase in complexity. In the dual graph the number ofnodes is equal to the number of arches in the original graph and thearches of the converted network represent the admissible crossconnections in the network apparatuses. The most obvious problem of thedual graph applied to the world of SDH or WDM telecommunications is thatto represent some restrictions introduced by some apparatuses the sameconversion must be performed for all the apparatuses. This implies thatthe conversion must also be performed for all those apparatuses which donot introduce connection restrictions and for which the preparatoryphysical expansion work of the nodes is therefore too costly; anapparatus which has no connection restrictions is exploded through thedual graph into a number of nodes Ò=(Ò_(in)+Ò_(out)) where Ò_(in)represents the number of input links to the apparatus in the originalgraph and Ò_(out) represents the number of output links from theapparatus of the original graph and into a number of arches equal toM_(r)=(Ò_(in)×Ò_(out)).

It is seen below that the use of dual conversion and reduced graph andpartitions of the present invention gives rise to what can be called‘clever dual graph’ conversion which cancels the disadvantages of thedual graph and, on the contrary, allows achievement of high routingefficiency.

This method uses dual conversion to construct graphs associated with thevarious partitions; once the paths necessary for construction orupdating the reduced graph are calculated, said graphs are cancelled.

It is thus achieved once again that the the only data structure keptpermanently and updated regularly is the reduced graph. Calculation ofthe paths from the input ports to the output ports of each partitionensures that the connection restrictions of the apparatuses arerespected. The connection established by operating directly on thereduced graph GR thus respects the restrictions because it is thelinking together of various paths which are all admissible.

On the reduced graph therefore it is not necessary to perform anyconversion but the above described is used directly for seeking theshortest path in the unrestricted case.

By using partitioning of the network, growth of the number of nodes andarches is limited to the partitions involved each time in updating ofthe network. To underscore this fact, suffice it to think what it meansto load from the database all the data concerning the network andoperate the conversion on such a large amount of data each time aconnection request arrives.

Assume a network G(V,A) where |V|=N and |A|=M and designate by W theaverage number of input links to each apparatus. Since an input link toan apparatus is an output link from another apparatus, W also representsthe average number of output links from each apparatus.

To avoid possible misunderstandings it is observed that W was definedherefrom as the average number of input or output links to or from eachapparatus which are actually installed in the network. It is wrong toconfuse this number with that of the links which the apparatus canmanage at input or output; these two values coincide only in the worstcase, from the viewpoint of size of the converted network, in which eachapparatus has at input or output the maximum number of installablelinks.

In the worst case, in which all possible cross-connections are admitted,the dual graph conversion generates a network consisting of M nodes andN×W² arches since each arch becomes a node and for each apparatus thereare W² arches. Each input link can be connected to each output link andthe average number of input and output links is W.

From the foregoing it is clear that to construct and update the reducedgraph it is necessary to perform the shortest path search algorithmseveral times. The choice of which shortest path algorithm to use istherefore one of the critical points.

A choice based on efficiency can advise the use of the Dijkstraalgorithm implemented with the particular data structure of theFibonacci Heap. In this implementation of the Dijkstra algorithm thecomputational complexity on a network with N nodes and M arches is equalto O(M+N×log(N)), substituting for M the value N×W2 and for N the valueM it is found that the complexity of the converted network is:O(N×W²+M×log(M))It is observed that the value W is limited above by the maximum numberof links manageable by the apparatus and accordingly the previouscomplexity becomes:O(N+M×log(M))

In practice however the value of W is important especially in networksmade up of few nodes and arches.

At this point the following consideration becomes necessary. SDH trafficis structured traffic and consequently each connection request mustspecify the type of traffic desired in addition to the pair of sourceand destination nodes; this implies that a reduced G^(R) for each typeof traffic is kept in the memory.

In theory, at the level of creation of the graph representing thenetwork (regardless of the use of the reduced graph) this situationwould involve an expansion of each link into a number of arches equal tothe number of containers available on that link in relation to the typeof traffic requested. The basic observation is that the connectionrestriction concerns the pair of input or output links and not aparticular container chosen within the two links. In this manner, in thedata taking step, it is possible to choose any one of the containersavailable for support of the type of traffic requested. To ensurecorrect traffic distribution the cost of the arches is established onthe basis of a linear combination of the cost assigned by the client tothat link and the availability of traffic on that link.

The same reasoning applied for SDH traffic is valid for WDM trafficwhere the optical apparatus is able to make a complete wavelengthconversion. Even in this case, indeed, it is possible to choose any oneof the channels available on the optical link instead of exploding thelink into the number of channels available and assign a cost inaccordance with the criterion proposed for SDH traffic. Besides, otherwavelength assignment policies can be applied.

Clearly the apparatus input and output links to and from the apparatuscan be exploded so as to assign costs which favor cross connectionswhich do not make wavelength conversion if this operation takes placewithout conversion of the optical domain signal into the electronic oneand vice versa (OEO conversion).

For WDM single-hop networks on the other hand it is necessary to explodeeach link into a number of links equal to the number of channelsavailable.

Single-hop networks, indeed, introduce the ‘wavelength continuousrestriction’ in which the connection which is to be established will usethe same wavelength in each of its links. To obtain an admissiblesolution it is necessary to insert into the converted network only thearches representing a cross connection between two identicalwavelengths. From the viewpoint of the restriction introduced we cancompare the wavelength continuous restriction with the fixedcross-connections.

We wrote above about the apparent increase in complexity which the useof a dual graph should introduce. In reality, with partitioning inaccordance with the present invention it is possible to divide theapparatus into sets which have as a characteristic the fact that theypossess connection restrictions and sets which do not have connectionrestrictions. In this manner there are apparatuses without connectionrestrictions in the partitions and the dual graph is not used but thepreferred ‘single shortest path algorithm’ is applied directly. If inthe same partition there are both types of apparatus, with and withoutrestrictions, the following procedure termed ‘clever dual network’ maybe applied. In other words the dual network is not efficient for networkmembers without restrictions. In this case a variation is possible onthe method or algorithm (clever dual network) which uses the fact thatthese nodes are characterized by each input being able to reach anoutput without any penalty. Each arch is therefore with zero penalty. Inthis manner the arch from p^2 to 2p is possible.

It consists of the following steps.

1. Divide the apparatuses in the following three classes (an example ofapparatuses in the three classes is given in FIG. 9):

-   -   A apparatuses without connection restrictions; any input port        can be connected to any output port,    -   B apparatuses with partial connection restrictions; there is at        least one set made up of input and output ports within which it        is possible to connect any input port with any output port, and    -   C apparatuses with total connection restrictions; each input        port has restrictions to be respected.

2. Associate with each type A and B apparatus a fictitious node Nf inthe converted graph.

3. Associate with each link having as tail or head a port withconnection restrictions a fictitious node Lf in the converted graph;this takes place if one of the two nodes of the original graph is type Cor B and the port used has restrictions.

4. For each fictitious node Nf of the converted graph associated with anoriginal type A node;

-   -   for each fictitious node Lf created under paragraph 3 and        concerning it insert a link connecting Lf to Nf if the original        arch for Lf was input to the original node for Nf; the cost of        this arch must be that of the original arch represented by Lf;    -   for each fictitious Lf node created under paragraph 3 and        concerning it insert a costless link connecting Nf to Lf if the        original arch for Lf was output for the original node associated        with Nf; and    -   consider the arches of the original graph not having undergone        the conversion described in paragraph 3 and which have in the        original graph the node for Nf as head or tail; for each arch        connect Nf to the other fictitious node associated with the tail        or head node of the original graph while keeping the same cost        of the arch of the original graph.

5. For each fictitious node Nf of the converted graph associated with anoriginal type B node;

-   -   consider all the fictitious Lf_(in) or Lf_(out) nodes created        under paragraph 3 for input or output arches of the original        graph in a port with restrictions to or from the node for the        fictitious node Nf and for each of these fictitious nodes        Lf_(in) insert a link connecting Lf_(in) to the other fictitious        Lf_(out) nodes; this connection must be made only for the pairs        of fictitious nodes Lf_(in), Lf_(out) corresponding to pairs of        arches of the original graph which are connectable; the cost of        the arch must be equal to the sum of the cost of the original        arch represented by Lf_(in) and the cost of the penalty to be        paid for connecting the two arches in the original graph;    -   consider all the fictitious nodes Lf_(in), Lf_(out) created        under paragraph 3 for input or output arches of the original        graph in a port without restrictions to or from the node for the        fictitious node Nf and insert for each of these fictitious nodes        Lf_(in) a link connecting the fictitious node Lf_(in) to the        fictitious node Nf while keeping the cost of the original arch        represented by Lf_(in), and for each of these fictitious nodes        Lf_(out) insert a link connecting the fictitious node Nf to the        fictitious node Lf_(out) at zero cost;    -   consider the arches of the original graph which have not        undergone the conversion described under paragraph 3 and which        in the original graph have the node represented by Nf as head or        tail; for each arch connect Nf to the other fictitious node        associated with the tail or head node of the original graph        while keeping the same cost of the original graph arch.

6. For each fictitious node Nf of the converted graph associated with anoriginal type C node;

-   -   all the fictitious nodes Lf_(in) or Lf_(out) created under        paragraph 3 are associated with input or output arches of the        original graph in a port with restrictions to or from the node        represented by Nf; insert an arch for all the Lf_(in) or        Lf_(out) pairs which represent two arches connectable in the        original graph.

FIG. 10 shows by way of example an original network to which the stepsof the above described method are applied. In particular the figures,from 11 a to 11 e show steps 2, 3, 4, 5 and 6 of the conversionrespectively.

We described above how partitioning of the network in accordance withthe present invention allows limiting the size of the dual graph;network conversion is applied individually to each partition to allowconstruction operations, dynamic completion and updating of the reducedgraph.

By so doing, each partition has a smaller number of nodes and links thanthe whole network. After each of these operations the data structuresrepresenting the dual graph of the partitions involved are cancelled.

These remarks do not change if clever dual network is considered inplace of the dual graph.

But the clever dual network of the source and destination partitionsinvolved in dynamic completion of the reduced graph must also beconstructed when a connection request arrives. In addition, it must bepossible to identify the nodes of the request in the converted network.

Starting from the above observations the following further steps can beformulated for dynamic completion of the reduced graph.

1. During the construction operations of the clever dual network for thesource or destination partition, if the source or destination node istype C a fictitious node is added; if the source node is type A or B thenode of the converted network is created directly during the normaloperations necessary for construction of the clever dual network.

2. Consider the source node n_(s) and if n_(s) is type A no action istaken; if n_(s) is type B add for each output port with connectionrestrictions an arch between the fictitious node representing n_(s) inthe converted graph and the fictitious node representing the link onthat port; if n_(s) is type C add for each output port an arch betweenthe fictitious node representing n_(s) in the converted graph and thefictitious node representing the link on that port.

3. Consider the destination node n_(d) and if n_(d) is type A no actionis taken; if n_(d) is type B add for each input port with connectionrestrictions an arch between the fictitious node representing the linkon that port and the fictitious node representing the n_(d) in theconverted graph; if n_(d) is type C add for each output port an archbetween the fictitious node representing the link on that port and thefictitious node representing n_(d) in the converted graph.

In other words, to sum up, the method proposed therefore consists ofthree steps, to wit:

-   -   preprocessing,    -   routing on the converted graph, and    -   updating the graph.

The preprocessing consists of two steps, to wit:

-   -   construction of the dual network, and    -   reduction of the graph using the fixed connections;    -   realizing this operation may be an option.

Each time a routing for a type of traffic not yet considered isrequested, a reduced graph for that traffic is constructed, cancelingthe arch of the original graph which does not support that traffic.

For each type of traffic the reduced graph developed by applying thepartitioning of the graph described above is kept in memory.

Routing on the converted graph is done in such a way that for eachrequest from node s in partition A to node d in partition B, type oftraffic tr, the part of the graph associated with traffic tr andpartitions A and B is relplaced by two subgraphs giving least cost fromnode s to the nodes on the edge of partition A and least cost from thenodes on the edge of partition B to node d.

To this final graph is applied a shortest path search algorithm and, thepath being found, the associated resources are reserved.

Updating of the graph is necessary before the next routing but isapplied only to the partitions used by the routing. In particular it isnecessary to update only the paths of the converted graph which in theoriginal graph share at least one arch with the calculated routing.

This updating is necessary even when a node is inserted, changed orcanceled.

FIG. 12 shows an example of a network. FIG. 13 shows the dual networkfor subnetwork 2 of FIG. 12. In this example all the penalties are equalto 1: òij,jk=1 for each ij,jk. The corresponding reduced graph is shownin FIG. 14. It is seen that if Min(p) and Mout(p) designate the numberof I/O arches from and to a partition, in the converted graph there areno more that Min(p)×Mout(p) arches for each partition p.

FIG. 15 shows an example of some apparatuses making up the network andhaving connection limitations. For example, the limitations are asfollows:

-   -   The members of networks A and D have complete connection        restrictions,    -   the member of network B has partial restrictions on the        connection, and    -   the member of network C has no connection restriction.

To convert the network, three different rules are applied depending onthe characteristics of the network members. The first two rules are asfollows:

-   -   full restriction on connection; all I/O connections become        nodes;    -   no restriction on connection; all connections connecting the        network member with the network members with connection        restriction become nodes; all connections connecting the network        member with network members without connection restrictions        become a single connection connecting the node without        restrictions to a new fictitious node related to the network        member without connection restrictions.

Applying these first two rules to the original network of FIG. 15 weobtain the graph of FIG. 16.

The third rule concerns the case of partial connection restrictions; aset of completely connectable ports are represented by a single node;ports with connection restrictions are treated in accordance with therules of full connection restrictions.

Applying this rule also, the final network is the one shown in outlinein FIG. 17.

To summarize what is written above, a summarizing example setting forththe operations necessary for identification of a shortest path in anetwork with apparatuses which introduce connection restrictions isshown below.

In accordance with the method of the present invention the first stepconsists of partitioning the original network at one level andclassifying the various apparatuses inside the partitions according tothe connection restrictions they display. This first step is shown inFIG. 18.

Subsequently, for each partition, it is necessary to insert thefictitious nodes representing the interlinks of the original graph andperform the clever dual network conversion following the operationsdescribed above. This step is shown in FIG. 19.

For each partition the shortest paths connecting the <input port &output port> pairs are calculated. If for a pair of such ports there isno path, no arch is inserted in the reduced graph. Proceeding asexplained above, the reduced graph GR is constructed. The reduced graphassociated with the network of FIG. 18 is shown in FIG. 20.

When a connection request (<S,Pa>, <D,Pc>) arrives it is necessary tocomplete dynamically the reduced graph as explained above while allowingfor the clever dual network conversion. This step is shown in FIG. 21where the clever dual network of the partitions involved in the dynamiccompletion of the reduced graph is seen while the final result of thecompleted reduced graph for calculation of the (<S,Pa>, <D,Pc>)connection is shown in FIG. 22.

It is emphasized that as concerns node S belonging to the type A nodecategory no node was added because the fictitious node Sf is createdautomatically during construction of the clever dual network of Pa. Fornode D belonging to the type C node category it is necessary to insert afictitious node Df which, being a destination node, represents the headnode of all the arches connecting it to the nodes representing the linksappearing on the input ports of D.

Lastly, the required path is calculated on the reduced graph of FIG. 22to find the result shown in FIG. 23 to which corresponds the pathrepresented in FIG. 24 in the original graph.

It is now clear that the predetermined purposes have been achieved.

Among the various advantages of the method of the present invention thedual conversion allows subsequent and simpler development of theprotection techniques of the network which are basic because of theenormous band supplied by optical fiber communications. On the convertednetwork generated by the dual conversion, shortest path algorithms usedin the normal circuit switching networks among which, for example is thealgorithm of Dijkstra, can still be used. In addition, the size of theconverted network decreases with the increase in the number ofconnection restrictions in the apparatuses. The fixed cross connectionfor example considerably reduces the number of arches in the dualnetwork. Lastly, the work of conversion of the original network in thedual network is considerably limited due to the use of networkpartitioning. Once the reduced graph G^(R) is constructed, indeed, thiswork is done only on the source and destination partitions to supply theresponse to the connection request and on the partitions traversed bythe path in the subsequent updating phase which does not burden theclient.

Naturally the above description of an embodiment applying the innovativeprinciples of the present invention is given by way of non-limitingexample of said principles within the scope of the exclusive rightclaimed here.

1. A method of routing in a telecommunications network, comprising thesteps of: partitioning a main graph of the network into partitions;creating a reduced graph of the partitions by constructing a dual graphof the network, and by reducing the main graph using connectionsrestricted by characteristics of apparatuses on the network; andperforming the routing on the reduced graph; wherein the reduced graphis created by: a) assigning each port of the main graph of fictitiousnode in the reduced graph; b) for each partition, dividing a set ofports of the network into input and output ports, and associating eachfictitious node of an assigned port as a fictitious input node or afictitious output node depending on a direction of the assigned port; c)connecting the fictitious input node or the fictitious output node to anetwork node in the main graph; d) assigning a zero cost to a bridgewhich has the fictitious output node at its upstream end; e) maintaininga cost of the bridge having the fictitious input node at its downstreamend unvaried at a predetermined value to avoid counting the cost morethan once; f) calculating paths from each fictitious input node to eachfictitious output node, each path being characterized by a set ofbridges of the main graph which connect a pair of input and outputports; and g) associating with each path characterized by a set of notempty bridges, a bridge in the reduced graph that connects thefictitious nodes representing the pair of input and output ports; if apath between two fictitious nodes does not exist and thus the set ofbridges associated with this path is an empty set, then the bridge isnot inserted in the reduced graph.
 2. The method in accordance withclaim 1, and storing only the reduced graph in memory.
 3. The method inaccordance with claim 1, and associating the following data with eachbridge of the reduced graph: a list of bridges of the main graphtraversed by the path which in the main graph connects the portsassociated with the fictitious input and output nodes, a cost equal to asum of the costs of the bridges traversed by the path in the main graph,and a name of the partition in which the path was calculated.
 4. Amethod of routing in a telecommunications network, comprising the stepsof: partitioning a main graph of the network into partitions; creating areduced graph of the partitions by constructing a dual graph of thenetwork, and by reducing the main graph using connections restricted bycharacteristics of apparatuses on the network; and performing therouting on the reduced graph; wherein, upon arrival of a connectionrequest for a pair of source and destination nodes identified bycoordinates including source and node partitions, the reduced graph iscreated by: a) adding the source and destination nodes of the main graphto the reduced graph; b) for the source node and the source partition,retrieving data for the source partition from a database, calculatingpaths from the source node to all output ports of the source partition,and associating with each calculated path a bridge containing the samedata contained in other bridges of the reduced graph; and c) for thedestination node and the destination partition, retrieving data for thedestination partition from the database, calculating paths from all theinput ports of the destination partition to the destination node, andassociating with each of the calculated paths a bridge containing thesame data contained in other bridges of the reduced graph.
 5. A methodof routing in a telecommunications network, comprising the steps of:partitioning a main graph of the network into partitions; creating areduced graph of the partitions by constructing a dual graph of thenetwork, and by reducing the main graph using connections restricted bycharacteristics of apparatuses on the network; and performing therouting on the reduced graph, wherein the reduced graph is created bydividing the apparatuses of the network among: a) type A apparatuseswithout connection restrictions in which any input port is connected toany output port of the network; b) type B apparatuses with partialconnection restrictions in which at least one set of input and outputports is connected between any input port and any output port; and c)type C apparatuses with total connection restrictions in which eachinput port has restrictions to be respected.
 6. The method in accordancewith claim 5, and associating with each type A and type B apparatus afictitious node in the reduced graph, and associating the fictitiousnode in the reduced graph with each link having an upstream or adownstream port with connection restrictions.
 7. The method inaccordance with claim 6, in which, for each fictitious node of thereduced graph for the type A apparatus, the steps of: inserting a linkconnecting the fictitious nodes if an original bridge for one of thefictitious nodes was input to an original node for another fictitiousnode, the original bridge having a cost equal to a cost for the originalbridge represented by the other fictitious node; inserting a costlesslink connecting the fictitious nodes if the original bridge for one ofthe fictitious nodes was output for the original node for the otherfictitious node; and connecting the one fictitious node to the otherfictitious node while keeping a same cost as for the bridge of the maingraph.
 8. The method in accordance with claim 6, in which, for eachfictitious node of the reduced graph for the type B apparatus, the stepsof: inserting a link connecting a fictitious input node to a fictitiousnode only for pairs of fictitious input and output nodes correspondingto pairs of bridges of the main graph which are connectable; inserting alink connecting the fictitious input node to the fictitious node whilemaintaining the cost of the original bridge represented by thefictitious input node, and inserting a link connecting the fictitiousnode to the fictitious output node at zero cost; and connecting thefictitious node to the fictitious output node associated with anupstream or downstream node of the main graph while maintaining the samecost as the bridge of the main graph.
 9. The method in accordance withclaim 6, in which, for each fictitious node of the reduced graph for thetype C apparatus, the step of: inserting a bridge for all pairs offictitious input and output nodes representing two bridges which areconnectable in the main graph.
 10. The method in accordance with claim5, in which the reduced graph is created by: if a source or adestination node is the type C apparatus, then adding a fictitious node;and if the source node is the type A or type B apparatus, then directlycreating the node.
 11. The method in accordance with claim 5, in whichthe reduced graph is created by: if the source node is the type Aapparatus, then taking no action; if the source node is the type Bapparatus, then adding for each output port with connectionrestrictions, a bridge between the fictitious node representing thesource node in the reduced graph and the fictitious node representing alink located on that port; and if the source node is the type Capparatus, then adding for each output port, a bridge between thefictitious node representing the source node in the reduced graph andthe fictitious node representing a link located on that port.
 12. Themethod in accordance with claim 5, in which the reduced graph is createdby: if the destination node is the type A apparatus, then taking noaction; if the destination node is the type B apparatus, then adding foreach input port with connection restrictions, a bridge between thefictitious node representing a link located on that port and thefictitious node representing the destination node in the reduced graph;and if the destination node is the type C apparatus, then adding foreach output port, a bridge between the fictitious node representing alink located on that port and the fictitious node representing thedestination node in the reduced graph.